Embodiments of the inventive concept relate to a semiconductor memory device, and in particular, to a storage device and a debugging method thereof.
A flash memory device is being used as voice and image data storage media of information devices such as a computer, a smart phone, a personal digital assistant (PDA), a digital camera, a voice recorder, an MP3 player, a handheld PC, and the like. However, since an erase operation is performed before writing data at a flash memory, a unit of data to be written may be greater than a unit of data to be erased. This makes it difficult to utilize a file system for typical hard disk even in the case where a flash memory is used as an auxiliary storage device. In addition, the above-described characteristic means that sequential input/output processing of the flash memory is more efficient than non-sequential input/output processing.
A solid state drive (SSD) is a representative of a flash memory-based mass storage device. The use of the SSD diversifies as the demand for the SSD explosively increases. For example, the use of the SSD is divided into SSD for server, SSD for client, SSD for data center, and the like. The SSD for the above-described uses may be managed and maintained to provide high reliability and optimized quality of service.
However, an unexpected error may occur due to a hardware or software problem during an operation of the above-described SSD. In this case, the SSD may generate and collect dump data. The SSD from which an error arises is connected to a debugging tool or device to perform dump data based debugging. The SSD is separated from a host, on which it is mounted, to the debugging tool and is connected to a separate interface. For this reason, it is difficult to obtain all real-time state information at an error-occurring point in time for exact debugging about the SSD.